//--------------------------------------------------------------------------------------------------------------
// <copyright file="Constants.cs" company="Microsoft Corporation" author="David Martos" date="01/02/2008">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//--------------------------------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Text;

namespace CSP.Core
{
    /// <summary>
    /// This class contains all the constants used by every CSP component
    /// </summary>
    public class Constants
    {

        // IIS Constants
        public const string IIS7ConfigFileName = "inetsrv\\config\\applicationHost.config";
        public const string IIS6ConfigFileName = "inetsrv\\metabase.xml";

        // registry constants
        public const string CspRegistryKey = @"SOFTWARE\CSP";


      
      public const string RegPropInstallationFolder = "InstallationFolder";

        public const string Log4NetFile = "Log4Net.xml";
        public const string RegPropDefaultLanguage = "DefaultLanguage";


        public const string CspOrganizationNameProperty = "csp_organizationname";
        // multilanguage constants
        public const string ResourceFile = "ResourceFile";
        //public const string ResourceFileMask = "{0}/csp.{1}.lng";
        public const string ResourceFileMask = "{0}/csp.{1}.resx";
        public const string ResourcesFolderSharepoint = "/Microsoft Shared/web server extensions/12/Resources";
        

        // Contoso Mobile
        public const string CMMainContentHolder = "ContentPlaceHolder1";
        public const string CMTopContentHolder = "ContentPlaceHolder2";
        // mobile.master.aspx
        public const string CMMasterXsl = "Style library/xsl style sheets/mobile.master.xsl";
        // Labels
        public const string CMMasterXmlRoot = "master";
        public const string CMMasterXmlHomePageLabel = "homepageLabel";
        public const string CMMasterXmlNewsLabel = "newsLabel";
        public const string CMMasterXmlCalendarLabel = "calendarLabel";

        public const string CMMasterXmlNews = "news";
        public const string CMMasterXmlCalend = "calendar";

        // Page.aspx
        public const string CMPageXsl = "Style library/xsl style sheets/Page.xsl";
        public const string CMPageQueryStringArea = "area";
        public const string CMPageQueryStringPage = "page";
        // Page Properties
        public const string CMPagePropTitle = "vti_title";
        public const string CMPagePropContent = "PublishingPageContent";
        // Xml Element Names
        public const string CMPageXmlRoot = "page";
        public const string CMPageXmlTitle = "title";
        public const string CMPageXmlContent = "content";
        public const string CMPageXmlNoContentLabel = "noContentLabel";

        // Area.aspx
        public const string CMAreaXsl = "Style library/xsl style sheets/Area.xsl";
        public const string CMAreaDateSeparator = " - ";
        // Labels
        // Error Messages
        // Page properties
        public const string CMAreaPageEventStartDate = "EventStartDate";
        public const string CMAreaPageEventEndDate = "EventEndDate";
        public const string CMAreaPageComments = "Comments";
        // Xml Element Names
        public const string CMAreaXmlRoot = "area";
        public const string CMAreaXmlTitle = "title";
        public const string CMAreaXmlPage = "page";
        public const string CMAreaXmlPageUniqueId = "uniqueId";
        public const string CMAreaXmlPageTitle = "title";
        public const string CMAreaXmlNoCommentsLabel = "noCommentsLabel";
        public const string CMAreaXmlPageComments = "comments";
        public const string CMAreaXmlPageArea = "area";
        public const string CMAreaXmlPageDates = "dates";

        // Home.aspx
        public const string CMHomeXsl = "Style library/xsl style sheets/Home.xsl";
        // Error Messages
        // Xml Element Names
        public const string CMHomeXmlRoot = "home";
        public const string CMHomeXmlArea = "area";
        public const string CMHomeXmlAreaId = "id";
        public const string CMHomeXmlAreaTitle = "title";


        //FormViewer
        public const string FormViewerParamTemplateNameFormatURL = "{0}/FormServerTemplates/{1}.xsn";


        //ClaimsFormViewer
        public const string ClaimsFormViewerSharepointSubmitName = "SharePoint Library Submit";
        public const string ClaimsFormViewerSharepointSubmitMethod = "set_FolderUrl";
        public const string ClaimsFormViewerSharepointSubmitFormatURL = "{0}/{1}";

        //ProcedureFormViewer
        public const string ProcedureFormViewerWebServiceSubmitName = "Web Service Submit";
        public const string ProcedureFormViewerWebServiceSubmitMethod = "set_ServiceUrl";


        // WebParts

        // QueryString Parameters
        public const string BusDirQueryStringItem = "item";
        public const string BusDirQueryStringCategory = "category";
        // Xml Element Names
        public const string BusDirXmlRoot = "contosoBusinessDirectory";
        public const string BusDirXmlTitle = "title";
        public const string BusDirXmlMapPage = "mapPage";
        public const string BusDirXmlMapLabel = "mapLabel";
        public const string BusDirXmlRequestUrl = "requestUrl";
        public const string BusDirXmlBusinessDir = "businessDirectory";
        public const string BusDirXmlCategDetail = "categoryDetail";
        public const string BusDirXmlItem = "item";
        public const string BusDirXmlItemDetail = "itemDetail";
        public const string BusDirXmlItemId = "itemId";
        public const string BusDirXmlItemTitle = "itemTitle";
        public const string BusDirXmlItemComments = "comments";
        public const string BusDirXmlItemWorkAddress = "workAddress";
        public const string BusDirXmlItemImage = "img";
        public const string BusDirXmlItemContactTitle = "contactTitle";
        public const string BusDirXmlItemWorkPhoneLabel = "workPhoneLabel";
        public const string BusDirXmlItemWorkPhone = "workPhone";
        public const string BusDirXmlItemEmail = "email";
        public const string BusDirXmlItemWeb = "web";
        public const string BusDirXmlCategory = "category";
        public const string BusDirXmlCategImage = "image";
        public const string BusDirXmlCategId = "categoryId";
        public const string BusDirXmlCategTitle = "categoryTitle";
        public const string BusDirXmlCategComments = "comments";
        // Company Properties
        public const string BusDirCompanyCateg = "_Category";
        public const string BusDirCompanyComments = "_Comments";
        public const string BusDirCompanyWorkAddress = "WorkAddress";
        public const string BusDirCompanyPublPageImage = "PublishingPageImage";
        public const string BusDirCompanyWorkPhone = "WorkPhone";
        public const string BusDirCompanyEmail = "EMail";
        public const string BusDirCompanyWeb = "WebPage";
        // Category Properties
        public const string BusDirCategPublRollupImg = "PublishingRollupImage";
        public const string BusDirCategTitle = "Title";
        public const string BusDirCategComments = "Comments";


        // Page Properties
        public const string CalendPageEventStartDate = "EventStartDate";
        public const string CalendPageEventEndDate = "EventEndDate";
        public const string CalendPageComments = "Comments";

        public const string CalendParamEventsListDefault = "Pages";
        public const string CalendParamEventStartDatePropertyDefault = "EventStartDate";
        public const string CalendParamEventEndDatePropertyDefault = "EventEndDate";
        public const string CalendParamEventCommentsPropertyDefault = "Comments";
        public const string CalendParamTimeFrameDaysDefault = "30";

        // Xml Element Names
        public const string CalendXmlRoot = "contosoCalendar";
        public const string CalendXmlCalendar = "calendar";
        public const string CalendXmlNewEventLabel = "newEventLabel";
        public const string CalendXmlNewEventPage = "newEventPage";
        public const string CalendXmlTitle = "title";
        public const string CalendXmlItem = "item";
        public const string CalendXmlItemServerRelativeUrl = "serverRelativeUrl";
        public const string CalendXmlItemTitle = "title";
        public const string CalendXmlItemStartDate = "startDate";
        public const string CalendXmlItemEndDate = "endDate";
        public const string CalendXmlItemComments = "comments";
        // CSS / Layout
        public const int CalendCellPadding = 4;
        public const string CalendCss = "cnt-calendar";
        public const string CalendCssSelectedDay = "cnt-calendar-selday";
        public const string CalendCssToday = "cnt-calendar-today";
        public const string CalendCssSelector = "cnt-calendar-selector";
        public const string CalendCssWeekendDay = "cnt-calendar-weekendday";
        public const string CalendCssOtherMonthDay = "cnt-calendar-othermonthday";
        public const string CalendCssNextPrev = "cnt-calendar-nextprev";
        public const string CalendCssDayHeader = "cnt-calendar-dayheader";
        public const string CalendCssTitle = "cnt-calendar-title";

        // QueryString Parameters
        public const string CoursesQueryStringCourse = "Course";
        // Xml Element Names
        public const string CoursesXmlRoot = "contosoCourses";
        public const string CoursesXmlTitle = "title";
        public const string CoursesXmlCourseList = "courseList";
        public const string CoursesXmlCourseDetail = "courseDetail";
        public const string CoursesXmlBaseURL = "baseURL";
        public const string CoursesXmlEmail = "email";
        public const string CoursesXmlSharepointSite = "sharepointSite";
        public const string CoursesXmlCourseId = "courseId";
        public const string CoursesXmlCourseTitle = "title";
        public const string CoursesXmlCourse = "course";
        public const string CoursesXmlCourseImage = "image";
        public const string CoursesXmlCourseName = "name";
        public const string CoursesXmlCourseDescription = "description";
        public const string CoursesXmlCourseAvailPlacesLabel = "availablePlacesLabel";
        public const string CoursesXmlCourseAvailPlaces = "availablePlaces";

        public const string ErrorsXmlRoot = "errors";
        public const string ErrorsXmlName = "error";
        public const string ErrorsXmlLabel = "errorLabel";
        public const string ErrorsXmlComments = "errorComments";

        // QueryString Parameters
        public const string MapQueryStringId = "Id";
        // Xml Element Names
        public const string MapXmlRoot = "contosoMap";
        public const string MapXmlMap = "map";
        public const string MapXmlQsIs = "qsIs";
        public const string MapXmlClientId = "clientId";
        public const string MapXmlFoundLocLabel = "foundLocationLabel";
        public const string MapXmlAddressExample = "addressExample";
        public const string MapXmlFindLocLabel = "findLocLabel";
        public const string MapXmlSearchNearByLabel = "searchNearByLabel";

        public const string MapXmlCategories = "categories";
        public const string MapXmlCategory = "category";


        // Courses DB
        public const string SPCourseGetAllByLanguage = "CoursesGetAllByLanguage";
        public const string SPCourseGetByIdAndLanguage = "CourseGetByIdAndLanguage";

        public const string CourseIdField = "CourseID";
        public const string LanguageIdField = "LanguageID";
        public const string CourseAvailablePlacesField = "AvailablePlaces";
        public const string CourseImageField = "CourseImage";
        public const string CourseNameField = "CourseName";
        public const string CourseInitialDateField = "InitialDate";
        public const string CourseEndDateField = "EndDate";
        public const string CourseDescriptionField = "CourseDescription";
        public const string CourseLongDescriptionField = "CourseLongDescription";   




        // xpath constants
        //public const string XPathTranslationNode = "/Literals/Literal[@name='{0}']";
        public const string XPathTranslationNode = "Data[@Name='{0}']";

        public const string XPathLabelsNode = "/my:myFields/my:Labels";
        public const string XPathListsNode = "/my:myFields/my:Lists";
        
        public const string XPathRequestIdentificator = "/my:myFields/my:RequestInformation/my:RequestIdentificator";
        public const string XPathRequestMessage = "/my:myFields/my:RequestInformation/my:RequestMessage";
        public const string XPathRequestCoursesList = "/my:myFields/my:RequestInformation/my:RequestCoursesList";
        public const string XPathRequestCalendarUrl = "/my:myFields/my:RequestInformation/my:RequestCalendarUrl";
        
        public const string XPathCitizenName = "/my:myFields/my:Citizen/my:CitizenName";
        public const string XPathCitizenAddress = "/my:myFields/my:Citizen/my:CitizenAddress";
        public const string XPathCitizenCity = "/my:myFields/my:Citizen/my:CitizenCity";
        public const string XPathCitizenZip = "/my:myFields/my:Citizen/my:CitizenZip";
        public const string XPathCitizenPhone = "/my:myFields/my:Citizen/my:CitizenPhone";
        public const string XPathCitizenEmail = "/my:myFields/my:Citizen/my:CitizenEmail";
        public const string XPathCitizenID = "/my:myFields/my:Citizen/my:CitizenID";

        public const string XPathCourseID = "/my:myFields/my:CourseInformation/my:CourseID";
        public const string XPathCourseInitialDate = "/my:myFields/my:CourseInformation/my:CourseInitialDate";
        public const string XPathCourseEndDate = "/my:myFields/my:CourseInformation/my:CourseEndDate";
        public const string XPathCourseDescription = "/my:myFields/my:CourseInformation/my:CourseDescription";
        public const string XPathCourseLongDescription = "/my:myFields/my:CourseInformation/my:CourseLongDescription";

        public const string XPathCitizenIsEmployed = "/my:myFields/my:Citizen/my:IsEmployed";

        public const string XPathRequestLibrary ="/my:myFields/my:RequestInformation/my:RequestLibrary";
        public const string XPathRequestTitle ="/my:myFields/my:RequestInformation/my:RequestTitle";
        public const string XPathRequestType = "/my:myFields/my:RequestInformation/my:RequestType";

        public const string SPCourseInsertAttendance = "CourseInsertAttendance";
        public const string SPCourseInsertAvailablePlaces = "CourseInsertAvailablePlaces";

        public const string SPCitizenGetByEmail = "CitizenGetByEmail";
        public const string SPCitizenUpdateWorkingStatus = "CitizenUpdateWorkingStatus";
        public const string CitizenEmailField = "email";

        public const string CitizenEmployedField = "Employed";


        public const string CRMfirstnameField = "firstname";
        public const string CRMlastnameField = "lastname";
        public const string CRMfullnameField = "fullname";
        public const string CRMexternaluseridentifierField = "externaluseridentifier";
        public const string CRMaddress1_line1Field = "address1_line1";
        public const string CRMaddress1_cityField = "address1_city";
        public const string CRMaddress1_stateorprovinceField = "address1_stateorprovince";
        public const string CRMaddress1_postalcodeField = "address1_postalcode";
        public const string CRMaddress1_telephone1Field = "address1_telephone1";
        public const string CRMaddress1_telephone2Field = "address1_telephone2";
        public const string CRMemailaddress1Field = "emailaddress1";
        public const string CRMdescriptionField = "description";
        public const string CRMcontactidField = "contactid";

        public const string CRMtitleField = "title";
        public const string CRMsubjectidField = "subjectid";

        public const string CRMincidentidField = "incidentid";
        public const string CRMnew_onlinerequestinformationField = "new_onlinerequestinformation";
        public const string CRMcreatedonField = "createdon";

        public const string CRMstatecodeField = "statecode";
        public const string CRMstatuscodeField = "statuscode";
        public const string CRMticketnumberField = "ticketnumber";
        public const string CRMowneridField = "ownerid";
        public const string CRMmodifiedonField = "modifiedon";
        public const string CRMnew_procedureidField = "new_procedureid";
        public const string CRMnew_procedurestateidField = "new_procedurestateid";
        public const string CRMprioritycodeField = "prioritycode";
        public const string CRMcasetypecodeField = "casetypecode";
        public const string CRMcaseorigincodeField = "caseorigincode";
        public const string CRMcustomeridField = "customerid";
        public const string CRMnew_onlinerequesformField = "new_onlinerequesform";


        public const string CRMConfigurationFile = "{0}/configuration.xml";
        public const string CRMConfigurationCasesNode = "//configuration/cases";
        public const string CRMConfigurationNameAttribute = "name";
        public const string CRMConfigurationCaseNode = "//configuration/cases/case[@name='{0}']";
        public const string CRMConfigurationLiteralsNode = "//configuration/literals/literal[@name='{0}']";
        public const string MOSSConfigurationFile = "{0}/configuration.xml";
        public const string MOSSConfigurationAttribute = "//fields/field[@name='{0}']";

        public const string MOSSEventsTitleProperty = "EventTitle";
        public const string MOSSEventsDescriptionProperty = "EventShortDescription";
        public const string MOSSEventsStartDateProperty = "EventInitialDate";
        public const string MOSSEventsEndDateProperty = "EventEndDate";
        public const string MOSSEventsCalendarURLProperty = "RequestCalendarUrl";

        public const string MOSSEventsVtiTitleField = "vti_title";
        public const string MOSSEventsVtiCachedTitleField = "vti_cachedtitle";
        public const string MOSSEventsStartDateField = "EventStartDate";
        public const string MOSSEventsEndDateField = "EventEndDate";
        public const string MOSSEventsCommentsField = "Comments";
        public const string MOSSEventsPublishingPageContentField = "PublishingPageContent";


        public const string MOSSEventsFieldsNodeName = "fields";
        public const string MOSSEventsFieldNodeName = "field";
        public const string MOSSEventsNameAttributeName = "name";

        public const string MOSSEventsTemplatePage = "master.aspx";
        public const string MOSSEventsPagesLibrary = "pages";


    }
}
